<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 14-12-19
 * Time: 下午7:56
 */
/**
 * 获取微信群发地区
 * @param $str 字符串
 * @return array
 */
function getWxArea($str){
    $arr = str2arr($str,'-');
    $province = '';//省
    $city = '';//市
    foreach($arr as $val){
        if(preg_match("/省/",$val)){
            $province .= str_replace('省','',$val);
        }elseif(preg_match("/市/",$val)){
            $city .= str_replace('市','',$val);
        }
    }

    return str2arr($province.','.$city);
}

/**
 * 获取群发列表类型
 * @param $type 类型
 * @return string
 */
function get_mass_send_type($type){
    //1文本、2图片、3语音、4视频、5图文
    $arr = get_wx_type_name();
    return $arr[$type - 1].'消息';
}

/**
 * 返回发送类型
 * @param $status 状态
 * @return mixed
 */
function get_send_type($status){
    if(empty($status)) return;
    $sendTypeArray = array('text','image','voice','mpvideo','mpnews',);
    return $sendTypeArray[($status - 1)];
}

/**
 * 获取反序列化数据
 * @param $data
 * @return bool|mixed
 */
function get_unserialize_data($data){
    if(empty($data)) return false;
    return unserialize($data);
}
/**
 * 获取微信分类
 * @return array
 */
function get_wx_type_name(){
    return array('文字','图片','语音','视频','图文');
}
/**
 * 图文消息获取COOKIE数据
 * @param $name
 * @return array
 */
function getEditCookieData($name){
    $ulDataStr = urldecode($_COOKIE[$name]);
    $ulDataArr = explode(',',$ulDataStr);
    $ulData = array();
    foreach($ulDataArr as $val){
        $arr = explode('*',$val);
        if($arr[0]=='image[]') $arr[0] = 'image';
        $ulData[$arr[0]] = $arr[1];
    }

    return $ulData;
}

/**
 * 图文消息列表时间显示
 * @param $dateline
 * @return bool|string
 */
function image_text_time_show($dateline){
    $day = strtotime(date("Y-1-1"));//今年第一天0点

    if($dateline<$day){
        return date('Y年m月d日',$dateline);
    }else{
        return date('m月d日',$dateline);
    }
}


function pget($url,$ref=false,$head=false){
    $curl = curl_init(); // 启动一个CURL会话
    curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
    curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
    if($ref){ curl_setopt($curl, CURLOPT_REFERER, $ref);//带来的Referer
    }else{
        curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
    }
    curl_setopt($curl, CURLOPT_HTTPGET, 1); // 发送一个常规的Post请求
    curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
    curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
    $tmpInfo = curl_exec($curl); // 执行操作
    if (curl_errno($curl)) {
        echo 'Errno'.curl_error($curl);
    }
    if($head){ $data['head']=curl_getinfo($curl);}
    curl_close($curl); // 关键CURL会话
    $data['data']=$tmpInfo;
    return $data; // 返回数据
}
/**
 * 获得文章body里的外部资源
 *
 * @access    public
 * @param     string  $body  文档内容
 * @return    string
 */
function GetCurContent($body){
    include_once(APP_PATH."Common/Org/Chat/WeiXinWeiXin.class.php");

    $basehost = "http://".$_SERVER["HTTP_HOST"];

    $img_array = array();
    preg_match_all("/<img\s*src=([\"|'|\s]){0,}(http:\/\/([^>]*)\.(gif|jpg|png))/isU",$body,$img_array);

    //var_dump($img_array);exit;
    //preg_match_all("/src=[\"|'|\s]{0,}(http:\/\/([^>]*)\.(gif|jpg|png))/isU",$body,$img_array);

    //$img_arrays = array_unique($img_array[2]);

    $imgc = $img_array[1];//符号
    $imgs = $img_array[2];//src地址

    $attach=get_attach('editor');
    $wx = new \Common\Org\Chat\WeiXin(C('AppID'),C('AppSecret'));

    foreach($imgs as $key=>$value){
        $char=$imgc[$key];

        if(preg_match("#".$basehost."#i", $value)){
            continue;
        }
        if(preg_match("#".$basehost."#i", $value)){
            continue;
        }
        if(!preg_match("#^http:\/\/#i", $value)){
            continue;
        }

        $http=pget($value,'$value',true);
        $itype=($http['head']['content_type']);
        if(!preg_match("#\.(jpg|gif|png)#i", $itype)){
            if($itype=='image/gif'){
                $itype = ".gif";
            }else if($itype=='image/png'){
                $itype = ".png";
            }else{
                $itype = '.jpg';
            }
        }

        $value = trim($value);

        $savename=uniqid().$itype;
        $filename = $attach['dir_path'].$savename;
        $fileurl = $attach['img_root'].$savename;

        //保存图片-------------------------
        $tp = fopen($filename, 'wb');
        fwrite($tp, $http['data']);
        fclose($tp);

        if(file_exists($filename)){
            //$body = str_replace($value, $fileurl, $body);
            $weixin = $wx->uploadImageTextImg($filename);
            $new=$fileurl.$char.' data-weixin='.$char.$weixin['url'].$char.' data-ke-src='.$char.$fileurl;
            $body = str_replace($value, $new, $body);
        }
    }
    return $body;
}

/**
 * 视频时间显示
 * @param $dateline
 * @return bool|string
 */
function video_time_show($dateline){
    $day_1 = strtotime(date("Y-m-d"));//今天0点
    $day_2 = strtotime(date("Y-m-d",strtotime("-1 day")));//昨天0点
    $day_3 = strtotime(date("Y-m-d",strtotime("-2 day")));//前天0点
    $day_4 = strtotime(date("Y-1-1"));//今年第一天0点

    if($dateline<$day_4){
        return date('Y年m月d日 H:i',$dateline);
    }elseif($dateline>=$day_1){
        return date('H:i',$dateline);
    }elseif($dateline>=$day_2){
        return date('昨天 H:i',$dateline);
    }elseif($dateline>=$day_3){
        return date('前天 H:i',$dateline);
    }elseif($dateline>=$day_4){
        return date('m月d日 H:i',$dateline);
    }
}